/** 
 * @CopyRight (c) 2012-2012
 * @Project <eshop>
 * @JDK_Version_Used:<JDK1.6>
 * @Description:<SQL注册机>
 * @Title: SqlRegister.java
 * @Author: <何俊>
 * @Author_of_Contact <E:azj1001@sina.com T:18651831939>
 * @Date 2012-11-14 上午12:54:25
 * @Modified_By: <修改人>
 * @Modified_of_Contact <修改人联系方式>
 * @Modified_Date <修改日期时间>
 * @Why & What is modified <修改原因描述>
 * @Version v1.00
 */ 
package com.e.buy.bean;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description:(SQL注册机)
 * @author <何俊>
 * @date 2012-11-14 上午12:54:25
 * @version v1.0
 * @Other :@see #Files
 */
public final class SqlRegister {

	/** 注册机堆栈 */
	private Map<Enum<?>, Object> stack;
	
	public SqlRegister(){
		stack = new HashMap<Enum<?>, Object>();
	}
	
	/**
	 * 注册一个类型  和 数据
	 * @title: register
	 * @param key
	 * @param value
	 * @return SqlRegister 返回类型
	 * @throws
	 */
	public SqlRegister register(Enum<?> key, Object value){
		stack.put(key, value);
		return this;
	}
	
	/**
	 * 根据类型获取值
	 * @title: get
	 * @param key
	 * @return String 返回类型
	 * @throws
	 */
	public Object get(Enum<?> key) {
		return stack.get(key);
	}
	
	/**
	 * 获取堆栈内容个数
	 * @title: getSize
	 * @return int 返回类型
	 * @throws
	 */
	public int size(){
		return stack.size();
	}
	
	/**
	 * 是否包含指定类型数据
	 * @title: containsKey
	 * @param key
	 * @return boolean 返回类型
	 * @throws
	 */
	public boolean containsKey(Enum<?> key){
		return stack.containsKey(key);
	}
	
	/**
	 * 内存清楚
	 * @title: clear
	 * @return void 返回类型
	 * @throws
	 */
	public void clear(){
		stack.clear();
		stack = new HashMap<Enum<?>, Object>();
	}
}
